---
title: 将您的 dApp 升级到 WalletConnect v2
description: RainbowKit 已迁移到 v2，您可以在 5 分钟内或更短时间内准备好您的 dApp
image: guide-walletconnect-v2.png
---

# 迁移到 WalletConnect v2

## 在 5 分钟内或更短时间内为 v2 升级准备您的 dApp

WalletConnect v1 协议将于 2023 年 6 月 28 日关闭，RainbowKit 为您简化过渡提供支持。

RainbowKit 现在对 WalletConnect v2 的支持已成标准，且无破坏性更改。只需升级并参考下方指南以获取更多详细信息。

#### 了解 WalletConnect v2

WalletConnect 是允许用户将他们的移动钱包连接到您的 dApp 的协议，它是 RainbowKit 的重要基础。WalletConnect v2 的最新发布带来了一些重要升级，使钱包和 dApp 体验更好。

在 v2 中，您的用户现在可以同时连接到多个链，因此您无需再担心链的切换操作。同时，它还扩展了对更多网络的支持，并带来了一些改进，使使用 Ethereum 登录更加快捷。

#### 升级您的 dApp

如果您已经遵循了 RainbowKit `0.12.x` 和 `1.0.x` 的迁移指南，那么您已经接近完成了！只需升级到最新的补丁版本并尝试一下。

RainbowKit 已在 `0.12.15` 和 `1.0.2` 中默认启用了 WalletConnect v2。我们将继续支持 `0.12.x`，以防您的 dApp 尚未升级到 Wagmi v1 和 RainbowKit v1。

**1. 升级依赖项**

```bash
npm i @rainbow-me/rainbowkit@^1.0.2 wagmi@^1.2
```

如果您使用的是 RainbowKit `0.12.x` 或 `1.0.x` 之前的版本，只需按[迁移指南](/docs/migration-guide)更新。

建议 `0.12.x` 的 dApp 开始升级到 Wagmi v1，因为 WalletConnect v2 的稳定性改进将仅包含在未来的 Wagmi 版本中。

**2. 提供 projectId**

每个依赖于WalletConnect的dApp现在都需要从[WalletConnect Cloud](https://cloud.walletconnect.com/)获取一个`projectId`。这完全免费并只需几分钟即可完成。

将您的 `projectId` 提供给 `getDefaultWallets` 和以下各个 RainbowKit 钱包连接器：

```ts
const projectId = 'YOUR_PROJECT_ID';
const { wallets } = getDefaultWallets({
  appName: 'My RainbowKit App',
  projectId,
  chains,
});
const connectors = connectorsForWallets([
  ...wallets,
  {
    groupName: 'Other',
    wallets: [
      readyWallet({ projectId, chains }),
      trustWallet({ projectId, chains }),
      ledgerWallet({ projectId, chains }),
    ],
  },
]);
```

RainbowKit 是类型安全的，当 `projectId` 缺失时会发出警告。参考我们的示例以查看 v2 的实际应用：

- [Create React App](https://codesandbox.io/p/sandbox/github/rainbow-me/rainbowkit/tree/main/examples/with-create-react-app)
- [Next.js](https://codesandbox.io/p/sandbox/github/rainbow-me/rainbowkit/tree/main/examples/with-next)
- [Next.js App Router](https://codesandbox.io/p/sandbox/github/rainbow-me/rainbowkit/tree/main/examples/with-next-app)
- [Remix](https://codesandbox.io/p/sandbox/github/rainbow-me/rainbowkit/tree/main/examples/with-remix)
- [Vite](https://codesandbox.io/p/sandbox/github/rainbow-me/rainbowkit/tree/main/examples/with-vite)
- [React Router](https://codesandbox.io/p/sandbox/github/rainbow-me/rainbowkit/tree/main/examples/with-react-router)

参考[文档](https://www.rainbowkit.com/docs/custom-wallet-list#walletconnect)以获取更多支持的选项。
